1 Введение

Три года назад, в августе 2015 года, было объявлено о свободном рыночном образовании курса тенге. В правильном ли направлении, по вашему мнению, пошел Казахстан? Теперь бменный курс тенге формируется на основе рыночного спроса и предложения с учетом фундаментальных внутренних и внешних макроэкономических факторов.

Изменение курса тенге по отношению к доллару с 2000 года показывает, что национальная валюта Казахстана не раз переживала, как взлеты, так и падения. Причем последних было, в разы больше.

В данном проекте будет построена модель, самостоятельно определяющая аномалии в курсах доллара в разные периоды в течение 18 лет и проведен прогноз на ближайшие 10 лет.

Данные с официальными курсами валют с 1 января 2000 года по 1 декабря 2018 года взяты с официального [интернет-ресурса] (https://nationalbank.kz/?docid=748&switch=russian) Национального банка Республики Казахстан.

1.1 Загрузка необходимых библиотек

library(readxl) #для чтения датасета в формате xls
library(anomalize) #для выявления аномалий
library(crypto) 
library(lubridate) #для работы с датами
library(dplyr) #для более быстрой работы с таблицей
library(ggplot2) #визуализация
library(prophet)
library(crypto)

2 Подготовка таблицы

2.1 Удаление и преобразование формата колонок

Прежде чем загрузить загруженную таблицу в модель, необходимы некоторые преобразования. Для начала нужно посмотреть, какие переменные есть.

head(train)
## # A tibble: 6 x 3
##   Date       USD_quant   USD
##   <chr>          <dbl> <dbl>
## 1 2000-01-01         1  138.
## 2 2000-01-02         1  138.
## 3 2000-01-03         1  138.
## 4 2000-01-04         1  138.
## 5 2000-01-05         1  138.
## 6 2000-01-06         1  138.
str(train)
## Classes 'tbl_df', 'tbl' and 'data.frame':    6910 obs. of  3 variables:
##  $ Date     : chr  "2000-01-01" "2000-01-02" "2000-01-03" "2000-01-04" ...
##  $ USD_quant: num  1 1 1 1 1 1 1 1 1 1 ...
##  $ USD      : num  138 138 138 138 138 ...

Таблица состоит из 3 колонок. Первая колонка Date содержит дату, которую необходимо преобразовать в формат год-месяц-день при помощи пакета lubridate. Вторая колонка USD_quant не нужна, поэтому ее нужно удалить. И третья колонка USD показывает курс доллара в определенный день.

train$Date <- ymd(train$Date)
train$USD_quant <- NULL
colnames(train) <- c("ds","y") #первая колонка ds - даты, y - курс доллара
head(train)
## # A tibble: 6 x 2
##   ds             y
##   <date>     <dbl>
## 1 2000-01-01  138.
## 2 2000-01-02  138.
## 3 2000-01-03  138.
## 4 2000-01-04  138.
## 5 2000-01-05  138.
## 6 2000-01-06  138.

2.2 Пропущенные значения

Очень важно выявить и удалить пропущенные значения, так как это повлияет на качество графика аномалий.

Пропущенных значений во всей таблице - 0. Это значит, что можно идти дальше.

2.3 Распределение переменной курса тенге

ggplot(train,aes(x=train$y))+geom_histogram(fill="coral",col='black')

Как видно по гистограмме частот, курс тенге резко “перескочил” из стоимости в 150 в 170, а затем в 250 тенге за доллар.

3 Построение модели

При помощи функции iqr( interquartile range) из пакета anomalize вычислен межквартильный диапазон для датасета переменной, содержащей курс доллара.

train$Anomaly <- iqr(train$y, alpha = 0.07, max_anoms = 0.2)
table(iqr(train$y, alpha = 0.07, max_anoms = 0.2))
## 
##   No  Yes 
## 5742 1168
train <- train[train$Anomaly!="Yes",]
train$Anomaly <- NULL

Не отклоняющихся значений намного больше, чем аномальных.

В качестве тренда - основной тенденцией изменения стоимости валюты - взят период в 12 недель. График покажет красным цветом те периоды, когда курс колебался более, чем на одно стандартное отклонение в месяц.

usd_plot <- tbl_df(train) %>%
  time_decompose(y,
                 frequency = "auto",
                 trend     = "12 weeks") %>%
  anomalize(remainder) %>%
  plot_anomaly_decomposition(color_no = 'lightblue',color_yes = "blue", size_dots = 3,size_circles = 3,alpha_circles = 0.3) +
  ggtitle("Изменение курса доллара США по отношению к тенге")

4 График

Как видно на графике, красным цветом помечены периоды девальвации.

usd_plot

5 Прогноз курса

Исходя из истории стоимости доллара за 18 лет, при помощи пакета prophet будет спрогнозирован курс доллара до 2021 года.

Для начала создан специальный файл prophet.

df <- train
prophet_df <- prophet(df)
## Initial log joint probability = -188.755
## Optimization terminated normally: 
##   Convergence detected: relative gradient magnitude is below tolerance

Прогноз на 3600 дней.

future <- make_future_dataframe(prophet_df,periods = 3600)
forecast <- predict(prophet_df,future)
head(forecast)
##           ds    trend additive_terms additive_terms_lower
## 1 2000-01-01 139.7219      -1.506596            -1.506596
## 2 2000-01-02 139.7353      -1.548443            -1.548443
## 3 2000-01-03 139.7487      -1.581116            -1.581116
## 4 2000-01-04 139.7622      -1.626016            -1.626016
## 5 2000-01-05 139.7756      -1.725354            -1.725354
## 6 2000-01-06 139.7890      -1.774892            -1.774892
##   additive_terms_upper       weekly weekly_lower weekly_upper    yearly
## 1            -1.506596  0.038462969  0.038462969  0.038462969 -1.545059
## 2            -1.548443  0.025764091  0.025764091  0.025764091 -1.574207
## 3            -1.581116  0.022136609  0.022136609  0.022136609 -1.603252
## 4            -1.626016  0.005932271  0.005932271  0.005932271 -1.631948
## 5            -1.725354 -0.065249830 -0.065249830 -0.065249830 -1.660105
## 6            -1.774892 -0.087306458 -0.087306458 -0.087306458 -1.687585
##   yearly_lower yearly_upper multiplicative_terms
## 1    -1.545059    -1.545059                    0
## 2    -1.574207    -1.574207                    0
## 3    -1.603252    -1.603252                    0
## 4    -1.631948    -1.631948                    0
## 5    -1.660105    -1.660105                    0
## 6    -1.687585    -1.687585                    0
##   multiplicative_terms_lower multiplicative_terms_upper yhat_lower
## 1                          0                          0   129.2731
## 2                          0                          0   129.7605
## 3                          0                          0   129.0777
## 4                          0                          0   129.4693
## 5                          0                          0   129.5549
## 6                          0                          0   129.2715
##   yhat_upper trend_lower trend_upper     yhat
## 1   147.1360    139.7219    139.7219 138.2153
## 2   147.1218    139.7353    139.7353 138.1869
## 3   147.4425    139.7487    139.7487 138.1676
## 4   146.5897    139.7622    139.7622 138.1361
## 5   146.2670    139.7756    139.7756 138.0502
## 6   147.2021    139.7890    139.7890 138.0141

5.1 График спрогнозированного курса

На графике показаны значения, которые будет принимать стоимость доллара до 2028 года.

Судя по графику, в 2020 году стоимость доллара достигнет 300 тенге, а в 2025 - 400 тенге за 1 доллар.

6 Вывод

В данной работе показаны основные моменты изменения стоимости тенге за последние 18 лет.

4 февраля 2009 года

Согласно пресс-релизу Национального банка Казахстана названы три причины для девальвации тенге. Основной причиной является понижение цен на нефть, которая занимает около шестидесяти процентов всего экспорта Казахстана. Второй важной причиной является девальвация национальных валют в странах — торговых партнерах Казахстана и в странах, экономика которых зависит от экспорта сырья. Третьей причиной стала необходимость сохранения золотовалютных резервов Национального Банка для дальнейшего поддержания обменного курса в приемлемых рамках.

11 февраля 2014 года

В 2014 году пришло время очередного валютного «антирекорда». Кстати, снова в феврале — на этот раз 11 числа. Председательствовал тогда в Нацбанке Кайрат Келимбетов (занявший этот пост с 1 октября 2013 года). Именно он сообщил о решении отказаться от поддержания обменного курса тенге на прежнем уровне. В заявлении Нацбанка говорилось, что будет установлен новый коридор колебаний курса — 185 тенге за доллар плюс/минус 3 тенге. Предыдущий курс был 155,5 тенге.

Источник

20 августа 2015 года

Утром 20 августа 2015 года в Казахстане установился новый курс доллара - 255 тенге. Правительство Казахстана приняло решение отпустить национальную валюту в свободное плавание. Это означает, что теперь рынок будет определять курс доллара.

Теперь внимание всего финансового мира Казахстана, да и всех интересующихся состоянием валютного рынка республики, будет привлекать состояние биржи KASE. Текущий курс финансовые институты будут определять по итогам сессий.

Источник.

А также был проведен прогноз на 10 лет стоимости доллара при помощи библиотеки prophet.

 

A work by YOUR NAME

YOUREMAIL@gmail.com